The present invention relates to computer-implemented methods and apparatus for monitoring I/O status in a computer system. More particularly, the present invention relates to a USB status monitoring utility for monitoring status information pertaining to USB devices, hubs, and adapters in a computer system.
In the modern computer system, many different I/O devices may be connected to the system bus via a variety of hubs and adapters. By way of example, there exists in the industry a protocol known as USB (Universal Serial Bus), which governs how different devices in compliance therewith may be interconnected in a computer system. USB devices have rapidly gained wide acceptance in the market place because of their plug-and-play capability, as well as their hot-swappable capability. Consequently, there exists in the market place a wide variety of printers, disk drives, smart card readers, CD ROM""s, computer mice, joysticks, and other I/O devices utilizing the USB protocol.
From the hardware perspective, the USB protocol vastly improves user-friendliness since devices employing the USB protocol require very little technical expertise to configure and to set up. In fact, many popular operating systems such as Windows(trademark) by Microsoft Corporation of Redmond, Wash. and Mac-OS(trademark) by Apple Computer of Cupertino, Calif. are even pre-loaded with USB drivers for a large number of USB devices, making the task of configuring a USB device for use even simpler for users.
From a software perspective, however, the same level of user-friendliness has not been found. Although the USB devices are easy to interconnect and set up, users often desire the ability to efficiently monitor, via software, the various USB devices connected to the computer system, to obtain easy-to-understand information regarding how the various USB devices are connected to the various hubs and adapters of the computer system (such as which USB device is connected to which port of which hub), and to obtain performance information pertaining to the connected USB devices.
To obtain status information pertaining to the connected USB devices, users nowadays typically resort to software utilities provided with the operating system, which are typically designed to provide operating system-level information for all classes of I/O devices. However, there are many shortcomings associated with these built-in utilities.
To further elaborate, consider the built-in utilities associated with two dominant operating systems: Windows Device Manager under the Windows(trademark) operating system and Apple Systems Profiler under Apple Computer""s Mac-OS9 and Mac OSX operating systems.
FIG. 1 is a prior art illustration of a window 100 for displaying I/O device status information in a Windows-based computer system. The Device Manager utility implemented by window 100 is typically activated through a series of steps starting with the user clicking on the START button under Windows, which brings up a menu from which the user can select the selection xe2x80x9cSETTINGS.xe2x80x9d Selecting the selection xe2x80x9cSETTINGSxe2x80x9d brings up another list of selections from which the user may choose the selection xe2x80x9cCONTROL PANEL,xe2x80x9d which further brings up another list of selections from which the user may choose the selection xe2x80x9cSYSTEM PROPERTIES.xe2x80x9d By selecting the selection xe2x80x9cSYSTEM PROPERTIES,xe2x80x9d yet another list of selections will appear from which the user may choose the selection xe2x80x9cDEVICE MANAGER,xe2x80x9d thereby causing window 100 to appear.
Using the Windows-based Device Manager utility of FIG. 1, the user may click on individual selections to obtain more detailed information. For example, the user may select the xe2x80x9cHID-compliant mousexe2x80x9d selection 102 to obtain further information about this human interface device mouse. The selection of HID-compliant mouse will bring up yet another window from which the user may view either the general information pertaining to HID-compliant mouse 102 (such as device type, manufacturer, hardware version) or driver information (such as driver provider, driver date, and digital signer, if any).
As can be appreciated from the foregoing, by drilling down the various selections under the Windows-based Device Manager utility, a lot of technical information pertaining to the I/O devices may be obtained. Although the Windows-based Device Manager utility of FIG. 1 appears to give quite detailed information about the various I/O devices attached to the associated Windows-based computer system, there are several drawbacks. For example, it is very difficult, if possible at all, to obtain the answer to questions such as how many USB devices are currently attached to this Windows-based computer system, which USB device is connected to which port of which hub, whether data transfer is currently taking place vis-à-vis a particular USB device, and whether the interconnection between USB devices and hubs are such that performance is optimized.
Furthermore, a user delving into the details of the various selections presented in window 100 may be provided with information that is redundant from selection to selection. For example, the information contained in HID-compliant mouse 102 is also shown under a Mouse selection, which is listed under selection Human Interface Devices 104, since HID-compliant mouse 102 is both a mouse (which causes it to be listed under the selection xe2x80x9cMICE AND OTHER POINTING DEVICESxe2x80x9d 106 as well as a human interface device, which causes that mouse 102 to also be listed under the selection xe2x80x9cHUMAN INTERFACE DEVICESxe2x80x9d 104.
The listing of a device under multiple tabs in window 100 makes the navigation confusing and the task of monitoring and obtaining information about the I/O devices connected with the associated Windows-based computer system logically difficult for the user to follow. Ironically, this is exactly counter to what the USB protocol was trying to provide: a simple, intuitive, user-friendly way to work with I/O devices.
The situation is a little better with Apple Computer""s Mac-OS built-in utilities, but some fundamental problems remain. FIG. 2 shows a prior art window 200, which implements the utility Apple System Profiler for computers running Apple""s MAC OS9 and MAC OSX operating systems. Using the Apple System Profiler utility, it is easier to obtain information pertaining to USB devices since they are displayed in a hierarchical tree format showing hubs and the various USB devices connected to each hub. Although the Apple System Profiler is navigationally and visually more user-friendly than the Windows Device Manager utility of FIG. 1, it is still very difficult, if possible at all, to obtain answers to some basic questions, such as which USB device is connected to which port of which USB hub, whether data transfer is currently taking place with respect to a particular USB device, and whether the interconnection between the USB devices and USB hubs in the associated computer system is optimal from a performance perspective.
These issues are important to computer users as USB devices become more available and accepted. Many computers already have multiple built-in USB adapters, and a power user may daisy-chain multiple USB hubs to each USB adapter, with multiple USB devices connected to each USB hub. In the absence of a software utility that can furnish information regarding which USB device is connected to which port of which hub, the only alternative for users is to crawl behind the computer desk and to physically trace each wire. This lack of information partially negates the hot-swappable and plug-and-play advantages provided by the USB devices.
Further, USB devices and hubs may come in different versions, each of which may have different levels of performance. For example, a hub or device conforming to USB specification 2.0 is expected to handle data 40 times faster than hubs and devices that conform to USB specification 1.1. When a fast USB device (e.g., one implementing USB 2.0) is plugged into a hub implementing USB 1.1, the performance of that fast USB device is effectively constrained by the speed of the hub to which it is connected. Unless the software utility can inform the user by some means of this mismatch, users often are not aware of the performance mismatch and may be unknowingly deprived of the ability to employ the higher speed associated with the faster USB device if there is in fact a faster USB hub port available in the system.
Furthermore, when a user works with multiple USB devices, that user may often wish to know whether data transfer currently occurs vis-à-vis a particular USB device. This is useful to assess performance or to troubleshoot problems, for example. Yet, with the existing utilities such as the Windows Device Manager of FIG. 1 or the Apple System Profiler of FIG. 2, the user could not easily tell whether data transfer is currently occurring with respect to any particular USB device. On some USB devices, there may be a status LED or a status display which the user can physically check to ascertain whether data transfer is occurring. However, this is cumbersome and inconvenient, requiring the user to physically move from the computer to the location where the USB device is physically located in order to read the built-in LED. Other USB devices may not be so equipped and, in those cases, absent a software utility that can furnish this information, the user often has to guess, rendering the troubleshooting and/or performance assessing task imprecise and difficult.
In view of the foregoing, there are desired intuitive, user-friendly methods and arrangements for displaying real time I/O status information and particularly real time USB status information pertaining to hubs, adapters, and devices in a computer system.
The invention relates, in one embodiment, to a computer-implemented USB (Universal Serial Bus) monitoring and data displaying utility for monitoring and displaying information pertaining to a plurality of USB modules connected to a computer, the displaying being performed on a computer display screen communicably coupled to the computer, the information pertaining to the plurality of USB modules including status information pertaining to the plurality of USB modules. The USB utility includes a monitoring view implemented in a first window of the computer display screen. The monitoring view includes a set of condensed individual module information sections, each of the condensed individual module information sections displaying condensed information pertaining to one of the USB modules. The condensed information includes an identity of an associated USB module, and one of a hub identifier, a port identifier, and a data transfer indicator pertaining to the associated USB module. The hub identifier identifies a hub to which the associated USB module is currently connected. The port identifier identifies a port to which the associated USB module is currently connected. The data transfer indicator indicates whether data transfer currently takes place with respect to the associated USB module.
The USB utility further includes at least one of a system view and a device view. The system view displays detailed information about the USB modules in a second window separate from the first window, information displayed in the system view having more details than information displayed in the monitoring view. The device view displays detailed information about a given one of the USB modules in one of the second window and a third window separate from the second window. Information displayed in the device view about the given one of the USB modules has more details than information pertaining the given one of the USB modules displayed in the monitoring view. The USB utility further includes an icon for invoking at least one of the system view and the device view from the monitoring view.
The invention relates, in another embodiment, to a computer-implemented USB (Universal Serial Bus) monitoring and data displaying utility for monitoring and displaying information pertaining to a plurality of USB devices connected to a computer, the displaying being performed on a computer display screen communicably coupled to the computer, the information pertaining to the plurality of USB devices including status information pertaining to the plurality of USB devices. The USB utility includes a monitoring view implemented in a window of the computer display screen, the monitoring view including a set of condensed individual device information sections, each of the condensed individual device information sections displaying condensed information pertaining to one of the USB devices. The condensed information includes an identity of an associated USB device, and one of a hub identifier, a port identifier, and a data transfer indicator pertaining to the associated USB device, the hub identifier identifying a hub to which the associated USB device is currently connected, the port identifier identifying a port to which the associated USB device is currently connected, the data transfer indicator indicating whether data transfer currently takes place with respect to the associated USB device.
In yet another embodiment, the invention relates to a computer-implemented USB (Universal Serial Bus) monitoring and data displaying utility for monitoring and displaying information pertaining to a plurality of USB modules connected to a computer, the displaying being performed on a computer display screen communicably coupled to the computer, the information pertaining to the plurality of USB modules including status information pertaining to the plurality of USB modules. The USB utility includes a system view configured for displaying information about the USB modules in a first window, including a device map showing each of the USB modules and interconnections among the USB modules, the device map including identification data for each of the USB modules and port identification data identifying ports to which the USB modules are connected. The USB utility further includes device view displaying detailed information about a given one of the USB modules in one of the first window and a second window separate from the first window, information displayed in the device view about the given one of the USB modules having more details than information pertaining the given one of the USB modules displayed in the system view, wherein the device view is configured to be invoked by a user of the computer system from the system view.
These and other features of the present invention will be described in more detail below in the detailed description of the invention and in conjunction with the following figures.